#ifndef CC_MSG_QUEUE_PTR_H
#define CC_MSG_QUEUE_PTR_H

/****	Public header file	*/
#include "./cc_type.h"

/****	define */
#define CFG_MSG_QUEUE
#ifdef CFG_MSG_QUEUE

typedef struct CC_Msg_Queue_By_Pointer tMsgQueue;

extern void MsgQueue_ShowObj(tMsgQueue* pObj);
extern tMsgQueue* MsgQueue_Create(uint32_t ItemNum);

extern uint32_t MsgQueue_Write(tMsgQueue* pObj,uint32_t PkgLen, uint8_t* pPkg);
extern uint32_t MsgQueue_Read(tMsgQueue* pObj,uint32_t RBufSz, uint8_t* pRBuf);
extern uint32_t MsgQueue_GetNextPkgSz(tMsgQueue* pObj);
extern uint32_t MsgQueue_Reset(tMsgQueue* pObj);

extern uint32_t MsgQueue_Peek(tMsgQueue* pObj,uint32_t RBufSz, uint8_t* pRBuf);
extern uint32_t MsgQueue_DorpOne(tMsgQueue* pObj);
#endif 




#endif
